In order to compensate for input/output (I/O) characteristics, image information generally needs to be corrected. To input image information, a given input device such as a scanner has a particular set of input characteristics for red, green and blue (RGB). For example, certain scanners are more sensitive to a red input than a green input while certain other scanners do not have the above input characteristics. Due to these device dependent characteristics, the RGB image information scanned by one scanner would not be necessarily compatible with other RGB information inputted by another scanner. Similarly, to output an image information, a given printer has a particular set of output characteristics for cyan, magenta, yellow and black (CMYK), and due to these characteristics, the image information would not be compatible with other CMYK image information to be outputted by a different printer. Because of the above described device dependent characteristics, these input and output information are corrected so as to make them compatible between devices.
In order to correct the device dependent image information, a correction curve was used in prior art. A typical correction curve was generated by a function whose input and output values had predetermined ranges. The functions included gamma functions such as y=x.sup..gamma. where .gamma. is a selected constant, and both x and y range between 0 and 1. The range between 0 and 1 for the inputs or the outputs was correlated to 64 (6 bits) or 256 (8 bits) color intensity levels. For a given input value x, which might be a RGB value or a CMYK value, a particular corrected output value y was obtained based upon a predetermined function. However, this type of gamma correction functions was rather limited by a single constant parameter which generated a rather uniform curvature. Other prior art gamma functions involved polynomial equations as disclosed by Japanese Patent No 63-2462 and Japanese Patent No 6-105154.
Japanese Patent No 63-2462 discloses a method and a system of correcting image information by a series of adjustments to a curve generated by a polynomial such as a quadratic or cubic equation. The adjustments include a rotation of the curve by a predetermined angle .theta. about the origin and a shift of the rotated curve by a predetermined amount in either or both along the X and Y axes. Although these adjustments to the gamma correction curve provide some degree of flexibility, the total number of the parameters necessary for the correction is undesirably large. As a result, additional hardware such as registers and memory is required.
To reduce the number of parameters, Japanese Patent No. 6-105154 (the 154 reference) discloses a Modified-Bezier (MB) curve as a gamma correction curve. The MB curve is expressed as follows: EQU y=cx(1-x).sup.2 +(3-d)(1-x)x.sup.2 +x.sup.3
where 0.ltoreq.x.ltoreq.1. The curvature of the above MB curve is adjusted by a pair of parameters c and d. The parameter c determines the slope of a tangential line at the starting point (0,0) while the other parameter d determines the slope of a tangential line at the ending point (1,1). In addition to the above described two-parameter adjustment, the 154 reference also discloses the four-parameter adjustment. For a specified x value, without changing the curvatures specified by c and d (here expressed as c.sub.1 and d.sub.1), the above MB curve is further adjusted by another pair of parameters c.sub.2 and d.sub.2, which are defined as follows: c=c.sub.1 +c.sub.2 (1-x) x and d=d.sub.1 +d.sub.2 (1-x) x. Thus, at a point specified by a x value, the curve is further modified in the y direction without modifying the above described original starting and ending slopes of the curve specified by c.sub.1 and d.sub.1.
In general, due to the complex nature of the corrections, the above described correction has been performed using pre-calculated tables. Since the correction process requires complex equations and a number of parameters, it is impractical to calculate the correction data on the fly during its correction process. Although the pre-calculated table look-up process is more efficient, it is rather limited and lacking flexibility in correcting image information. Furthermore, to handle a large number of variations in the device as well as toner characteristics for a wide range of input and output values, a voluminous amount of pre-calculated data needs to be stored in the table memory. The amount of pre-calculated data is even larger when each color in a color system is independently corrected.
In the relevant prior art of color production technologies involving fax machines, copiers and printers, the image information has been generally corrected based upon the above described input or output characteristics using pre-calculated tables. This is because the prior art correction process is too complex to be performed on the fly or requires additional hardware. The correction process remains to be more efficient so that it is performed on the fly without the use of pre-calculated table.
Japanese Patent Laid Publication 7-162683 disclosed an approach to select an appropriate correction curve from a plurality of predetermined curves depending upon a particular intensity level. For example, one of these correction curves more effectively corrects data in a shadow region or at low intensity while not affecting other data in a highlight region or at high intensity. These correction curves may be user defined. However, these correction curves are not specific to each of color components and are applied uniformly across the color components. As will be more fully explained later, any shade of color is made by mixing color components or primary colors. In the relevant prior art, to allow the color component specific adjustments of the image information, Japanese Patent Laid Publication 8-125865 as well as a U.S. patent application Ser. No. 08/547,499 disclosed a two-step correction process whose first step generates a gamma correction curve based upon a cubic polynomial which is defined by a beginning point, an ending point, three intermediate points as well as two additional parameters c.sub.2 and d.sub.2. The second correction step customizes the correction process by shifting the standard gamma correction curve by using a simple equation such as y'=a+by, where y is a normalized standard output value based upon the above described gamma correction curve while "a" and "b" are predetermined coefficients. The coefficient "a" defines y' to be "a" when x=0, and y' is "a+b" when x=1. Although the above described two-step correction process allowed certain customization of the standard gamma correction curve, the customization is rather limited to a predetermined set of parameters and still lacks flexibility.
Japanese Patent Laid Publication Hei 2-92159 discloses a method of generating a tone table or an intensity correction curve based upon the interpolation or splines of a predetermined number of selected points. Although a plurality of tone tables may be applied to a single color image based upon certain characteristics of a given portion of the image, a single tone table is uniformly applied to color components within the same portion.
In the above relevant prior art technologies, the color system specification is addressed as a solution to the same problem. The above described prior art technologies are generally directed to how to faithfully reproduce scanned color information by correcting the color information according to the input and output device characteristics. Rather than correcting the error generated by the input and output devices, it is desired to specify a desired color system so that the input and output devices have the identical input and output characteristics. As a result, the correction process is substantially eliminated. The desired color system can be a standardized color system for these input and output devices. On the other hand, the desired color system can also be a customized color system which is used to adjust the input and output devices. In order to determine the color system specification and to edit it if necessary, a user should be able to manipulate the color system specification in a user-friendly as well as interactive fashion.
In order to provide such a user-friendly tool, visualization of the color system has been used. In general, it is difficult to visualize a color system. Color is made up from color components or primaries. For example, for an additive color system, color is represented by adding three color components or primaries which includes red (R), green (G) and blue (B) to darkness. A color system based upon these three primaries is called the RGB model. On the other hand, in a subtractive color system, cyan, magenta, and yellow are subtracted from white light. Each color component has its own characteristics over a range. Because of the unique set of values over a range, a given color system is specified by a set of multiple characteristics of the color components. To visualize a color system, these sets of characteristics should be separately as well as collectively represented over a predetermined range.
The visualized color system information should be easily specified as well as later customized in a user-friendly manner. A user should be able to specify the color system according to his or her taste via an intuitive control without necessarily knowing the color theories and without requiring large memory space for storing such a user-selected color system specification. In this regard, it is important that the user does not have to perform undue experimentation by adjusting a set of multiple parameters to obtain a desired color system specification.